package game;

import javax.swing.JOptionPane;

public class JuegoThread extends Thread {

	private JuegoCanvas juegoCanvas;
	private long tiempoEspera = 20000L;
	
	public JuegoThread(JuegoCanvas juegoCanvas) {
		this.juegoCanvas = juegoCanvas;
		this.start();
	}
	
	public void run(){
		while(true){
			while(true)
				synchronized (juegoCanvas.lock()) {
					if(!juegoCanvas.tieneAnimacion()) break;
				}
			
			juegoCanvas.crearNuevasCeldas();
			if(juegoCanvas.hemosPerdido()){
				break;
			}
			try {
				Thread.sleep(tiempoEspera);
			} catch (InterruptedException e) {}
			actualizarTiempo();
		}
		
		JOptionPane.showMessageDialog(null, "El juego a terminado tienes: "+juegoCanvas.getPuntos()+" puntos");
	}

	private void actualizarTiempo() {
		if (tiempoEspera < 500) return; 
		tiempoEspera = (long) (tiempoEspera - (tiempoEspera * 0.05));
	}
	
}
